Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-TAX-002 |
| Deskripsi | Import data PPN keluaran dan PPN masukan untuk masa pajak tertentu melalui unggah file Excel |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User membuka import PPN keluaran dari menu buat invoice di halaman Pembayaran SPT.
- User membuka import PPN masukan dari menu yang sama.
- User memilih masa pajak lalu mengunggah file Excel (.xls / .xlsx, maksimal 20 MB).
- Sistem mengirim file dan masa pajak ke layanan uploader untuk diproses.
- User mendapat notifikasi berhasil atau gagal setelah unggahan.
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | User dapat membuka modal Import PPN Keluaran dari halaman daftar Pembayaran SPT |
| FR-02 | User dapat membuka modal Import PPN Masukan dari halaman daftar Pembayaran SPT |
| FR-03 | User wajib memilih masa pajak sebelum mengunggah |
| FR-04 | User wajib mengunggah satu file Excel berukuran maksimal 20 MB |
| FR-05 | Sistem mengirim file PPN keluaran ke endpoint uploader PPN keluaran |
| FR-06 | Sistem mengirim file PPN masukan ke endpoint uploader PPN masukan |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Mengimpor PPN keluaran dari Excel |
| UC-02 | Mengimpor PPN masukan dari Excel |
4. Use Case Scenario
UC-01 : Mengimpor PPN keluaran dari Excel
| Aktor | User pajak / keuangan |
| Deskripsi | User mengunggah Excel PPN keluaran untuk masa pajak tertentu |
| Prekondisi | User sudah login, berada di halaman Pembayaran SPT, dan memiliki hak dasar #pembayaran-spt |
| Alur utama | 1. User membuka dropdown Buat Invoice. 2. User memilih Import PPN Keluaran. 3. Sistem menampilkan modal Import PPN Keluaran. 4. User memilih masa pajak bulan/tahun. 5. User memilih file Excel. 6. User menekan Simpan. 7. Sistem mengunggah file dan menampilkan "File berhasil diunggah". |
| Alur negatif | - Jika masa pajak kosong, muncul "Masa Pajak harus diisi". - Jika file belum dipilih, muncul "File harus diunggah". - Jika unggahan gagal, muncul notifikasi error dari server. |
| Bisnis rule | - Format file yang diterima: .xls dan .xlsx. - Ukuran maksimal 20 MB per file. - Field versi_spt dikirim dengan nilai awal 0.- File dikirim sebagai field form csv bersama masa_pajak dan versi_spt. |
| Postkondisi | File PPN keluaran berhasil diunggah untuk diproses |
| Trigger | User memilih Import PPN Keluaran |
| Kode FR | FR-01 FR-03 FR-04 FR-05 |
UC-02 : Mengimpor PPN masukan dari Excel
| Aktor | User pajak / keuangan |
| Deskripsi | User mengunggah Excel PPN masukan untuk masa pajak tertentu |
| Prekondisi | User sudah login, berada di halaman Pembayaran SPT, dan memiliki hak dasar #pembayaran-spt |
| Alur utama | 1. User membuka dropdown Buat Invoice. 2. User memilih Import PPN Masukan. 3. Sistem menampilkan modal Import PPN Masukan. 4. User memilih masa pajak bulan/tahun. 5. User memilih file Excel. 6. User menekan Simpan. 7. Sistem mengunggah file dan menampilkan "File berhasil diunggah". |
| Alur negatif | - Jika masa pajak kosong, muncul "Masa Pajak harus diisi". - Jika file belum dipilih, muncul "File harus diunggah". - Jika unggahan gagal, muncul notifikasi error dari server. |
| Bisnis rule | - Pola validasi dan batasan file sama dengan import PPN keluaran. - Endpoint tujuan berbeda: PPN masukan. |
| Postkondisi | File PPN masukan berhasil diunggah untuk diproses |
| Trigger | User memilih Import PPN Masukan |
| Kode FR | FR-02 FR-03 FR-04 FR-06 |
5. Data Flow Diagram
DFD-01 — Alur data import PPN
6. Sequence Diagram
SD-01 — UC-01 : Mengimpor PPN keluaran dari Excel
SD-02 — UC-02 : Mengimpor PPN masukan dari Excel
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
POST /ppn-keluaran | existing | - |
POST /ppn-masukan | existing | - |